package review.static_;

public class StaticMethod {
    public static void main(String[] args) {
        Stu jack = new Stu("jack");
        jack.payFee(500);

        Stu tom = new Stu("tom");
        tom.payFee(300);

        //输出当前收到的总学费
        Stu.showFee();

        //如果我们希望不创建实例，也可以调用某个方法(即当做工具来使用)
        //就可以把方法做成静态方法
        System.out.println("9开平方的结果是=" + Math.sqrt(9));

        System.out.println(MyTools.calSum(10, 20));
    }
}

class MyTools {
    //求出两个数的和
    public static double calSum(double n1, double n2) {
        return n1 + n2;
    }
}

class Stu {
    private String name; // 普通成员
    //定义一个静态变量，来累积学生的学费
    private static double fee = 0;

    public Stu(String name) {
        this.name = name;
    }

    //说明：
    //1.当方法使用static修饰后，该方法就是静态方法
    //2.静态方法就可以访问静态属性
    public static void payFee(double fee) {
        Stu.fee += fee;
    }
    public static void showFee() {
        System.out.println("总学费有：" + Stu.fee);
    }
}
